Application Recommending Method and System, and Server

ABSTRACT

Embodiments of the present disclosure are applicable to the field of communications technologies, and provide an application recommending method and system, and a server. The method includes receiving data reported by at least one terminal, where the data includes static data and first application behavior data that are collected by the at least one terminal, and the static data is used to identify a type of a terminal; obtaining an activity index of each application on terminals of different types according to the first application behavior data; and receiving an application list request sent by a first terminal, querying, according to the application list request, an activity index of each application on terminals that are of the same type with the first terminal, and recommending an application with an activity index greater than a preset first activity index threshold to the first terminal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/897,846, filed on Dec. 11, 2015, which is a national stage ofInternational Application No. PCT/CN2014/073696, filed on Mar. 19, 2014.Both of the aforementioned applications are hereby incorporated byreference in their entireties.

TECHNICAL FIELD

The present disclosure relates to the field of communicationstechnologies, and in particular, to an application recommending methodand system, and a server.

BACKGROUND

Diversification of terminals is a tough problem that all applicationdevelopers and distribution channels have to face. For differentoperating systems (OS) and different hardware, considerable workloadneeds to be taken in migration and adaptation.

For a same type of OS, for example, Android™, a large quantity ofAndroid systems of different versions exist on an existing network, anda variety of read-only memories (ROMs) customized by differentmanufacturers and a large quantity of device models also exist.Therefore, it is unlikely that an overall coverage test can be conductedfor an Android application. For a same application running on differentdevices, various compatibility problems usually occur, including aninstallation failure, a running failure, a failure in using somefunctions after the application runs, and so on.

SUMMARY

Embodiments of the present disclosure provide an applicationrecommending method and system, and a server, to solve a problem that,in a recommending method provided in the prior art, an applicationrecommended to a terminal user is usually incompatible with a terminalwhen running on the terminal.

According to a first aspect, an application recommending method isprovided, where the method includes receiving data reported by at leastone terminal, where the data includes static data and first applicationbehavior data that are collected by the at least one terminal, and thestatic data is used to identify a type of a terminal; obtaining anactivity index of each application on terminals of different typesaccording to the first application behavior data; and receiving anapplication list request sent by a first terminal, querying, accordingto the application list request, an activity index of each applicationon terminals that are of the same type with the first terminal, andrecommending an application with an activity index greater than a presetfirst activity index threshold to the first terminal.

In a first possible implementation manner, with reference to the firstaspect, the first application behavior data includes at least one pieceof the following data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication.

In a second possible implementation manner, according to the firstpossible implementation manner, the obtaining an activity index of eachapplication on terminals of different types according to the firstapplication behavior data includes calculating a sum of applicationactivity degrees of applications on terminals of a particular type; andobtaining an activity index of each application on the terminals of aparticular type according to the sum of the application activity degreesand a total quantity of users of the terminals of a particular type.

In a third possible implementation manner, according to the secondpossible implementation manner, the calculating a sum of applicationactivity degrees of applications on terminals of a particular typeincludes calculating installation duration of each application on eachterminal according to uninstallation time and installation time; and/orcalculating running duration of each application on each terminalaccording to stop time and start time; and/or calculating activityduration of each application on each terminal according to deactivationtime and activation time; and/or calculating background running durationof each application on each terminal according to the running durationand the activity duration; and/or calculating a quantity of dailyactivation times of each application on each terminal; calculating anapplication activity degree of each application on each terminalaccording to a combination of one or more of the following: theinstallation duration, the running duration, the activity duration, thebackground running duration, and the quantity of daily activation times;and performing a summation on the application activity degrees of theapplications on the terminals to obtain the sum of the applicationactivity degrees of applications on the terminals of a particular type.

In a fourth possible implementation manner, with reference to the firstaspect and any one of the first possible manner to the third possibleimplementation manner, the data further includes second applicationbehavior data collected by the at least one terminal; and before orafter the receiving an application list request sent by a firstterminal, querying, according to the application list request, anactivity index of each application on terminals that are of the sametype with the first terminal, and recommending an application with anactivity index greater than a preset first activity index threshold tothe first terminal, the method includes obtaining a preference index ofeach application on terminals of different types according to the secondapplication data; and after the receiving an application list requestsent by a first terminal, querying, according to the application listrequest, an activity index of each application on terminals that are ofthe same type with the first terminal, and recommending an applicationwith an activity index greater than a preset first activity indexthreshold to the first terminal, the method further includes generatinglabel information of an activity index and/or a preference index of eachapplication on the first terminal according to an activity index and/ora preference index of each application recommended to the firstterminal; and sending, to the first terminal, the label information ofthe activity index and/or preference index of each application that isrecommended to the first terminal and on the first terminal, so that auser of the first terminal selects an application according to the labelinformation of the activity index and/or preference index of eachapplication that is recommended to the first terminal and on the firstterminal.

In a fifth possible implementation manner, according to the fourthpossible implementation manner, the second application behavior dataincludes at least one piece of the following data: occupied memory foreach running of an application, power consumption for each running of anapplication, and flow consumption for each running of an application;and the preference index includes at least one piece of an occupiedmemory index, a flow consumption index, and a power consumption index.

In a sixth possible implementation manner, according to the fourthpossible implementation manner or the fifth possible implementationmanner, the obtaining a preference index of each application onterminals of different types according to the second applicationbehavior data includes calculating a flow consumption index of theapplication according to flow consumption for each running of theapplication and a quantity of flow reporting times; and/or calculatingan occupied memory index of the application according to occupied memoryfor each running of the application and a quantity of occupied memoryreporting times; and/or calculating a power consumption index of theapplication according to power consumption for each running of theapplication and a quantity of power consumption reporting times.

According to a second aspect, an application recommending method isprovided, where the method includes receiving data reported by at leastone terminal, where the data includes static data, and first applicationbehavior data and/or second application behavior data that are collectedby the at least one terminal, and the static data is used to identify atype of a terminal; obtaining an activity index of each application onterminals of different types according to the first application behaviordata; and/or obtaining a preference index of each application onterminals of different types according to the second applicationbehavior data; and/or obtaining an activity index and/or a preferenceindex of each application on terminals of different types according tothe first application behavior data and/or the second applicationbehavior data; querying an activity index and/or a preference index ofeach application on terminals that are of the same type with the firstterminal; generating label information of an activity index and/or apreference index of each application on the first terminal according toan activity index and/or a preference index of each application on theterminals that are of the same type with the first terminal; and sendingthe label information of the activity index and/or preference index ofeach application on the first terminal to the first terminal, so that auser of the first terminal selects an application according to the labelinformation of the activity index and/or preference index of eachapplication on the first terminal.

In a first possible implementation manner, with reference to the secondaspect, the first application behavior data includes at least one pieceof the following data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication; the second application behavior data includes at least onepiece of the following data: occupied memory for each running of anapplication, power consumption for each running of an application, andflow consumption for each running of an application; and the preferenceindex includes at least one piece of the following data: an occupiedmemory index, a flow consumption index, and a power consumption index.

In a second possible implementation manner, according to the firstpossible implementation manner, the obtaining an activity index of eachapplication on terminals of different types according to the firstapplication behavior data includes calculating a sum of applicationactivity degrees of applications on terminals of a particular type; andobtaining an activity index of each application on the terminals of aparticular type according to the sum of the application activity degreesand a total quantity of users of the terminals of a particular type; andthe obtaining a preference index of each application on terminals ofdifferent types according to the second application behavior dataincludes calculating a flow consumption index of the applicationaccording to flow consumption for each running of the application and aquantity of flow reporting times; and/or calculating an occupied memoryindex of the application according to occupied memory for each runningof the application and a quantity of occupied memory reporting times;and/or calculating a power consumption index of the applicationaccording to power consumption for each running of the application and aquantity of power consumption reporting times.

In a third possible implementation manner, according to the secondpossible implementation manner, the calculating a sum of applicationactivity degrees of applications on terminals of a particular typeincludes calculating installation duration of each application on eachterminal according to uninstallation time and installation time; and/orcalculating running duration of each application on each terminalaccording to stop time and start time; and/or calculating activityduration of each application on each terminal according to deactivationtime and activation time; and/or calculating background running durationof each application on each terminal according to the running durationand the activity duration; and/or calculating a quantity of dailyactivation times of each application on each terminal; calculating anapplication activity degree of each application on each terminalaccording to a combination of one or more of the following: theinstallation duration, the running duration, the activity duration, thebackground running duration, and the quantity of daily activation times;and performing a summation on the application activity degrees of theapplications on the terminals to obtain the sum of the applicationactivity degrees of applications on the terminals of a particular type.

According to a third aspect, a server is provided, where the serverincludes a reported data receiving unit configured to receive datareported by at least one terminal, where the data includes static dataand first application behavior data that are collected by the at leastone terminal, and the static data is used to identify a type of aterminal; an activity index calculating unit configured to obtain anactivity index of each application on terminals of different typesaccording to the first application behavior data; and an applicationrecommending unit configured to receive an application list request sentby a first terminal, query, according to the application list request,an activity index of each application on terminals that are of the sametype with the first terminal, and recommend an application with anactivity index greater than a preset first activity index threshold tothe first terminal.

In a first possible implementation manner, with reference to the thirdaspect, the first application behavior data includes at least one pieceof the following data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication.

In a second possible implementation manner, according to the firstpossible implementation manner, the activity index calculating unitincludes an activity degree sum calculating module configured tocalculate a sum of application activity degrees of applications onterminals of a particular type; and an activity index calculating moduleconfigured to obtain an activity index of each application on theterminals of a particular type according to the sum of the applicationactivity degrees and a total quantity of users of the terminals of aparticular type.

In a third possible implementation manner, according to the secondpossible implementation manner, the application activity degree sumcalculating module includes an installation duration calculatingsubmodule configured to calculate installation duration of eachapplication on each terminal according to uninstallation time andinstallation time; and/or a running duration calculating submoduleconfigured to calculate running duration of each application on eachterminal according to stop time and start time; and/or an activityduration calculating submodule configured to calculate activity durationof each application on each terminal according to deactivation time andactivation time; and/or a background running duration calculatingsubmodule configured to calculate background running duration of eachapplication on each terminal according to the running duration and theactivity duration; and/or a daily activation times calculating submoduleconfigured to calculate a quantity of daily activation times of eachapplication on each terminal; an application activity degree calculatingsubmodule configured to calculate an application activity degree of eachapplication on each terminal according to a combination of one or moreof the installation duration, the running duration, the activityduration, the background running duration, and the quantity of dailyactivation times; and an application activity degree sum calculatingsubmodule configured to perform a summation on the application activitydegrees of the applications on the terminals to obtain the sum of theapplication activity degrees of applications on the terminals of aparticular type.

In a fourth possible implementation manner, with reference to the thirdaspect or any one of the first possible implementation manner to thethird possible implementation manner, the data further includes secondapplication behavior data collected by the at least one terminal, andthe server further includes a preference index calculating unitconfigured to obtain a preference index of each application on terminalsof different types according to the second application data; and theserver further includes a label information generating unit configuredto generate label information of an activity index of each applicationon the first terminal according to an activity index of each applicationrecommended to the first terminal; and/or generate label information ofa preference index of each application on the first terminal accordingto a preference index of each application recommended to the firstterminal; and a label information sending unit configured to send, tothe first terminal, the label information of the activity index and/orpreference index of each application that is recommended to the firstterminal and on the first terminal, so that a user of the first terminalselects an application according to the label information of theactivity index and/or preference index of each application that isrecommended to the first terminal and on the first terminal.

In a fifth possible implementation manner, according to the fourthpossible implementation manner, the second application behavior dataincludes at least one piece of the following data: occupied memory foreach running of an application, power consumption for each running of anapplication, and flow consumption for each running of an application;and the preference index includes at least one piece of the followingdata: an occupied memory index, a flow consumption index, and a powerconsumption index.

In a sixth possible implementation manner, according to the fourthpossible implementation manner or the fifth possible implementationmanner, the preference index calculating unit includes a flowconsumption index calculating module configured to calculate a flowconsumption index of the application according to flow consumption foreach running of the application and a quantity of flow reporting times;and/or an occupied memory index calculating module configured tocalculate an occupied memory index of the application according tooccupied memory for each running of the application and a quantity ofoccupied memory reporting times; and/or a power consumption indexcalculating module configured to calculate a power consumption index ofthe application according to power consumption for each running of theapplication and a quantity of power consumption reporting times.

According to a fourth aspect, a server is provided, where the serverincludes a data receiving unit configured to receive data reported by atleast one terminal, where the data includes static data, and firstapplication behavior data and/or second application behavior data thatare collected by the at least one terminal, and the static data is usedto identify a type of a terminal; an activity index calculating unitconfigured to obtain an activity index of each application on terminalsof different types according to the first application behavior data;and/or a preference index calculating unit configured to obtain apreference index of each application on terminals of different typesaccording to the second application behavior data; an index queryingunit configured to query an activity index and/or a preference index ofeach application on terminals that are of the same type with the firstterminal; a label information generating unit configured to generatelabel information of an activity index of each application on the firstterminal according to an activity index of each application recommendedto the first terminal; and/or generate label information of a preferenceindex of each application on the first terminal according to apreference index of each application recommended to the first terminal;and a label information sending unit configured to send the labelinformation of the activity index and/or preference index of eachapplication on the first terminal to the first terminal, so that a userof the first terminal selects an application according to the labelinformation of the activity index and/or preference index of eachapplication on the first terminal.

In a first possible implementation manner, with reference to the fourthaspect, the first application behavior data includes at least one pieceof the following data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication; the second application behavior data includes at least onepiece of the following data: occupied memory for each running of anapplication, power consumption for each running of an application, andflow consumption for each running of an application; and the preferenceindex includes at least one piece of the following data: an occupiedmemory index, a flow consumption index, and a power consumption index.

In a second possible implementation manner, according to the firstpossible implementation manner, the activity index calculating unitincludes an activity degree sum calculating module configured tocalculate a sum of application activity degrees of applications onterminals of a particular type; and an activity index calculating moduleconfigured to obtain an activity index of each application on theterminals of a particular type according to the sum of the applicationactivity degrees and a total quantity of users of the terminals of aparticular type; and the preference index calculating unit includes aflow consumption index calculating submodule configured to calculate aflow consumption index of the application according to flow consumptionfor each running of the application and a quantity of flow reportingtimes; and/or an occupied memory index calculating submodule configuredto calculate an occupied memory index of the application according tooccupied memory for each running of the application and a quantity ofoccupied memory reporting times; and/or a power consumption indexcalculating submodule configured to calculate a power consumption indexof the application according to power consumption for each running ofthe application and a quantity of power consumption reporting times.

In a third possible implementation manner, according to the secondpossible implementation manner, the activity degree sum calculatingmodule includes an installation duration calculating submoduleconfigured to calculate installation duration of each application oneach terminal according to uninstallation time and installation time;and/or a running duration calculating submodule configured to calculaterunning duration of each application on each terminal according to stoptime and start time; and/or an activity duration calculating submoduleconfigured to calculate activity duration of each application on eachterminal according to deactivation time and activation time; and/or abackground running duration calculating submodule configured tocalculate background running duration of each application on eachterminal according to the running duration and the activity duration;and/or a daily activation times calculating submodule configured tocalculate a quantity of daily activation times of each application oneach terminal; an application activity degree calculating submoduleconfigured to calculate an application activity degree of eachapplication on each terminal according to a combination of one or moreof the following: the installation duration, the running duration, theactivity duration, the background running duration, and the quantity ofdaily activation times; and an application activity degree sumcalculating submodule configured to perform a summation on theapplication activity degrees of the applications on the terminals toobtain the sum of the application activity degrees of applications onthe terminals of a particular type.

According to a fifth aspect, a server is provided, where the serverincludes an interface configured to receive data reported by at leastone terminal, where the data includes static data and first applicationbehavior data that are collected by the at least one terminal, and thestatic data is used to identify a type of a terminal; and a processorconfigured to obtain an activity index of each application on terminalsof different types according to the first application behavior data;where the interface is further configured to receive an application listrequest sent by a first terminal, query, according to the applicationlist request, an activity index of each application on terminals thatare of the same type with the first terminal, and recommend anapplication with an activity index greater than a preset first activityindex threshold to the first terminal.

In a first possible implementation manner, with reference to the thirdaspect, the first application behavior data includes at least one pieceof the following data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication.

In a second possible implementation manner, according to the firstpossible implementation manner, the processor first calculates a sum ofapplication activity degrees of applications on terminals of aparticular type, and then obtains an activity index of each applicationon the terminals of a particular type according to the sum of theapplication activity degrees and a total quantity of users of theterminals of a particular type.

In a third possible implementation manner, according to the secondpossible implementation manner, the processor calculates installationduration of each application on each terminal according touninstallation time and installation time; and/or the processorcalculates running duration of each application on each terminalaccording to stop time and start time; and/or the processor calculatesactivity duration of each application on each terminal according todeactivation time and activation time; and/or the processor calculatesbackground running duration of each application on each terminalaccording to the running duration and the activity duration; and/or theprocessor calculates a quantity of daily activation times of eachapplication on each terminal; the processor calculates an applicationactivity degree of each application on each terminal according to acombination of one or more of the following: the installation duration,the running duration, the activity duration, the background runningduration, and the quantity of daily activation times; and the processorperforms a summation on the application activity degrees of theapplications on the terminals to obtain the sum of the applicationactivity degrees of applications on the terminals of a particular type.

In a fourth possible implementation manner, with reference to the fifthaspect or any one of the first possible manner to the third possibleimplementation manner, the data further includes second applicationbehavior data collected by the at least one terminal, and the processoris further configured to obtain a preference index of each applicationon terminals of different types according to the second applicationdata; and the processor is further configured to first generate labelinformation of an activity index of each application on the firstterminal according to an activity index of each application recommendedto the first terminal; and/or generate label information of a preferenceindex of each application on the first terminal according to apreference index of each application recommended to the first terminal;and then send, to the first terminal, the label information of theactivity index and/or preference index of each application that isrecommended to the first terminal and on the first terminal, so that auser of the first terminal selects an application according to the labelinformation of the activity index and/or preference index of eachapplication that is recommended to the first terminal and on the firstterminal.

In a fifth possible implementation manner, according to the fourthpossible implementation manner, the second application behavior dataincludes at least one piece of the following data: occupied memory foreach running of an application, power consumption for each running of anapplication, and flow consumption for each running of an application;and the preference index includes at least one piece of the followingdata: an occupied memory index, a flow consumption index, and a powerconsumption index.

In a sixth possible implementation manner, according to the fourthpossible implementation manner or the fifth possible implementationmanner, the processor calculates a flow consumption index of theapplication according to flow consumption for each running of theapplication and a quantity of flow reporting times; and/or the processorcalculates an occupied memory index of the application according tooccupied memory for each running of the application and a quantity ofoccupied memory reporting times; and/or the processor calculates a powerconsumption index of the application according to power consumption foreach running of the application and a quantity of power consumptionreporting times.

According to a sixth aspect, a server is provided, where the serverincludes an interface configured to receive data reported by at leastone terminal, where the data includes static data, and first applicationbehavior data and/or second application behavior data that are collectedby the at least one terminal, and the static data is used to identify atype of a terminal; and a processor configured to obtain an activityindex of each application on terminals of different types according tothe first application behavior data; and/or configured to obtain apreference index of each application on terminals of different typesaccording to the second application behavior data; where the processoris further configured to query an activity index and/or a preferenceindex of each application on terminals that are of the same type withthe first terminal; and generate label information of an activity indexof each application on the first terminal according to an activity indexof each application recommended to the first terminal; and/or generatelabel information of a preference index of each application on the firstterminal according to a preference index of each application recommendedto the first terminal; and the interface is further configured to sendthe label information of the activity index and/or preference index ofeach application on the first terminal to the first terminal, so that auser of the first terminal selects an application according to the labelinformation of the activity index and/or preference index of eachapplication on the first terminal.

In a first possible implementation manner, with reference to the sixaspect, the first application behavior data includes at least one pieceof the following data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication; the second application behavior data includes at least onepiece of the following data: occupied memory for each running of anapplication, power consumption for each running of an application, andflow consumption for each running of an application; and the preferenceindex includes at least one piece of the following data: an occupiedmemory index, a flow consumption index, and a power consumption index.

In a second possible implementation manner, according to the firstpossible implementation manner, the processor first calculates a sum ofapplication activity degrees of applications on terminals of aparticular type, and then obtains an activity index of each applicationon the terminals of a particular type according to the sum of theapplication activity degrees and a total quantity of users of theterminals of a particular type; and/or the processor calculates a flowconsumption index of the application according to flow consumption foreach running of the application and a quantity of flow reporting times;and/or the processor calculates an occupied memory index of theapplication according to occupied memory for each running of theapplication and a quantity of occupied memory reporting times; and/orthe processor calculates a power consumption index of the applicationaccording to power consumption for each running of the application and aquantity of power consumption reporting times.

In a third possible implementation manner, according to the secondpossible implementation manner, the processor calculates installationduration of each application on each terminal according touninstallation time and installation time; and/or the processorcalculates running duration of each application on each terminalaccording to stop time and start time; and/or the processor calculatesactivity duration of each application on each terminal according todeactivation time and activation time; and/or the processor calculatesbackground running duration of each application on each terminalaccording to the running duration and the activity duration; and/or theprocessor calculates a quantity of daily activation times of eachapplication on each terminal; the processor calculates an applicationactivity degree of each application on each terminal according to acombination of one or more of the following: the installation duration,the running duration, the activity duration, the background runningduration, and the quantity of daily activation times; and the processorperforms a summation on the application activity degrees of theapplications on the terminals to obtain the sum of the applicationactivity degrees of applications on the terminals of a particular type.

According to a seventh aspect, an application recommending system isprovided, where the system includes at least one terminal, the systemfurther includes the foregoing server, where the server is connected toeach terminal.

It can be seen from the foregoing solutions that, in the applicationrecommending method provided in the embodiments of the presentdisclosure, an application recommended to a terminal is an applicationwith a high activity index when running on this type of terminals, andtherefore the application recommended to the terminal has relativelygood compatibility for the terminal.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in the embodiments of the presentdisclosure more clearly, the following briefly introduces theaccompanying drawings required for describing the embodiments or theprior art. The accompanying drawings in the following description showmerely some embodiments of the present disclosure, and a person ofordinary skill in the art may still derive other drawings from theseaccompanying drawings without creative efforts.

FIG. 1 is an implementation flowchart of an application recommendingmethod according to Embodiment 1;

FIG. 2 is an implementation flowchart of an application recommendingmethod according to Embodiment 2 of the present disclosure;

FIG. 3 is an implementation flowchart of an application recommendingmethod according to Embodiment 3 of the present disclosure;

FIG. 4 is a structural block diagram of a server according to Embodiment4 of the present disclosure;

FIG. 5 is a structural block diagram of a server according to Embodiment5 of the present disclosure;

FIG. 6 is a structural block diagram of a server according to Embodiment6 of the present disclosure;

FIG. 7 is a structural block diagram of a server according to Embodiment7 of the present disclosure;

FIG. 8 is a structural block diagram of a server according to Embodiment8 of the present disclosure;

FIG. 9 is a structural block diagram of a server according to Embodiment9 of the present disclosure; and

FIG. 10 is a structural block diagram of an application recommendingsystem according to Embodiment 10 of the present disclosure.

DESCRIPTION OF EMBODIMENTS

To make the objectives, technical solutions, and advantages of thepresent disclosure clearer and more comprehensible, the followingfurther describes the present disclosure in detail with reference to theaccompanying drawings and embodiments. It should be understood that thespecific embodiments described herein are merely used to explain thepresent disclosure but are not intended to limit the present disclosure.

The terms used in the embodiments of the present disclosure are merelyfor the purpose of illustrating specific embodiments, and are notintended to limit the present disclosure. The terms “a”, “said” and“the” of singular forms used in the embodiments and the appended claimsof the present disclosure are also intended to include plural forms,unless otherwise specified in the context clearly. It should also beunderstood that the term “and/or” used herein indicates and includes anyor all possible combinations of one or more associated listed items.

It should be understood that terms such as “first” and “second” may beused in the embodiments of the present disclosure to describe a varietyof terminals and application behavior data, but these terminals andapplication behavior data should not be limited by these terms. Theseterms are merely used to distinguish the terminals.

To describe the technical solutions of the present disclosure, thefollowing provides description using specific embodiments.

FIG. 1 shows an implementation process of an application recommendingmethod according to Embodiment 1 of the present disclosure. Thefollowing provides a detailed description from a perspective of aserver.

Step S101: A server receives data reported by at least one terminal,where the data includes static data and first application behavior datathat are collected by the at least one terminal, and the static data isused to identify a type of a terminal.

In this embodiment of the present disclosure, each terminal isresponsible for collecting the static data and the first applicationbehavior data.

The static data is data that describes static information of a terminal,terminals of different types can be distinguished using the static data,the static data may include at least one piece of the following data: aterminal model, a quantity of central processing unit (CPU) cores, atotal memory size, an available memory size, a resolution, and an OSversion number (Android version number), and different user groups canbe distinguished using the static data.

Application behavior data is data that describes behavior information ofeach application running on a terminal. The first application behaviordata includes at least one piece of the following data: installationtime, start time, activation time (time for switching from background toforeground when an application runs on the background), deactivationtime (time for switching from foreground to background when anapplication runs on the foreground), stop time, and uninstallation timethat are of an application, and so on.

Step S102: The server obtains an activity index of each application onterminals of different types according to the first application behaviordata.

In this embodiment of the present disclosure, the server calculates thefollowing parameters for a terminal type to obtain an activity index ofeach application on terminals of a particular type. Terminals mentionedbelow indicate terminals of a particular type.

Calculating an activity index of each application on terminals of aparticular type is implemented in the following two steps.

Step 1: Calculate a sum of application activity degrees of applicationson terminals of a particular type to obtain ΣB, where “Σ” is a sumoperator.

Step 2: Obtain an activity index A of each application on the terminalsof a particular type according to the sum of the application activitydegrees and a total quantity of users of the terminals of a particulartype.

The total quantity Su of users is calculated, and Su=Σ(Users), where thetotal quantity Su of users is a quantity of terminals included in theterminals of a particular type.

The activity index A of each application on the terminals of aparticular type can be obtained through calculation using a formulaA=ΣB/Su.

The sum of the application activity degrees of applications on aparticular type of terminals can be calculated using a possiblecombination of the following one or more steps.

Step 11: Calculate installation duration of each application on eachterminal according to uninstallation time and installation time.

Installation duration Tinst=Uninstallation time−Installation time, where“−” is a minus sign.

Step 12: Calculate running duration of each application on each terminalaccording to stop time and start time.

Running duration Trun=Stop time−Start time.

Step 13: Calculate activity duration of each application on eachterminal according to deactivation time and activation time.

Activity duration Tactive=Deactivation time−Activation time.

Step 14: Calculate background running duration of each application oneach terminal according to the running duration and the activityduration.

Background running duration Tback=Trun−Tactive.

Step 15: Calculate a quantity of daily activation times of eachapplication on each terminal.

Daily activation times Csum=Sum or times measured on a daily basis.

Step 16: Calculate an application activity degree of each application oneach terminal according to a combination of one or more of thefollowing: the installation duration, the running duration, the activityduration, the background running duration, and the quantity of dailyactivation times.

Application activity degreeB=a1*Csum+a2*Tactive+a3*Trun+a4*Tinst+a5*Tback, where a1+a2+a3+a4+a5=1.

Step 17. Perform a summation on the application activity degrees of theapplications on the terminals to obtain the application activity degreesof applications on the terminals of a particular type.

A summation is performed on the application activity degrees ofapplications on the terminals to obtain ΣB.

The server can determine a terminal type according to the static datareported by the terminal, and use all terminals reporting same staticdata as terminals of one type.

Step S103: The server receives an application list request sent by afirst terminal, queries, according to the application list request, anactivity index of each application on terminals that are of the sametype with the first terminal, and recommends an application with anactivity index greater than a preset first activity index threshold tothe first terminal.

In this embodiment of the present disclosure, after obtaining theactivity index of each application on the terminals of different typesthrough calculation, the server stores the activity index of eachapplication on the terminals of different types.

The first terminal sends the application list request to the server, torequest the server to send a list of recommended applications to thefirst terminal, where the application list request includes static dataof the first terminal, and the static data is used to identify a type ofthe first terminal.

After receiving the application list request sent by the first terminal,the server first acquires a type of the first terminal according to theapplication list request, acquires, according to the type of the firstterminal, an activity index of each application on terminals that are ofthe same type with the first terminal, selects applications with anactivity index greater than a preset first activity index threshold, andthen sends an application list formed by these applications to the firstterminal. After receiving the application list, the first terminal maybrowse and download the applications in the application list.

In the application recommending method provided in this embodiment ofthe present disclosure, an application recommended to a first terminalby a server is an application with a high activity index, where theapplication with a high activity index represents, to some extent, thatthe application can run smoothly on the first terminal, and theapplication recommended to the first terminal by the server hasrelatively good compatibility for the first terminal.

FIG. 2 shows an implementation process of an application recommendingmethod according to Embodiment 2 of the present disclosure. Thefollowing provides a detailed description from a perspective of aserver.

Step S201: A server receives data reported by at least one terminal,where the data includes static data, first application behavior data,and second application behavior data that are collected by the at leastone terminal, and the static data is used to identify a type of aterminal.

In this embodiment of the present disclosure, application behavior datais data that describes behavior information of each application runningon a terminal. The first application behavior data includes at least onepiece of the following data: installation time, start time, activationtime (time for switching from background to foreground when anapplication runs on the background), deactivation time (time forswitching from foreground to background when an application runs on theforeground), stop time, and uninstallation time that are of anapplication, and so on.

The second application behavior data includes at least one piece of thefollowing data: occupied memory for each running of an application(occupied memory after activation and occupied memory afterdeactivation), flow consumption for each running of an application, andpower consumption for each running of an application.

That a terminal reports both first application behavior data and secondapplication behavior data to a server is used as an example below todescribe in detail a process of reporting data by the terminal to theserver.

An application manager (App manager) (a framework in an Android system),an application (APP), an agent, and an application store client(Appstore Client) are included in the terminal, as shown in FIG. 2.

The App manager is responsible for starting, stopping, activating, anddeactivating an application APP, and so on; in addition, the App managercan collect flow, power consumption, an occupied memory status, and soon when the APP is running.

The APP is an actual application that runs on the terminal. Generally,multiple APPs are installed on one terminal.

The Agent is responsible for collecting and reporting data.

The Appstore Client is an application store client (or a web page), andis responsible for requesting an application list from a server anddisplaying the application list on the terminal, so that a user canbrowse, download, and install an application.

When an application-related operation is executed, the App managernotifies the Agent. In addition, the Agent can acquire information, suchas occupied memory, flow consumption, and power consumption of aspecified application, from the App manager. After collecting the staticdata, the first application behavior data, and the second applicationbehavior data, the Agent first stores the data locally, and when a dataamount of the data reaches a specific size or after a storage time ofthe data exceeds a specific time, sends the data to the server.

Step S202: The server obtains an activity index of each application onterminals of different types according to the first application behaviordata.

In this embodiment of the present disclosure, the server obtains theactivity index of each application on the terminals of different typesaccording to the first application behavior data. For details about aprocess of calculating the activity index, reference is made to thedescription in Embodiment 1, and details are not described herein again.

Step S203: The server separately obtains a preference index of eachapplication on terminals of different types according to the secondapplication data.

In this embodiment of the present disclosure, the server calculates thepreference index of each application on the terminals of different typesaccording to the second application data, where the preference indexincludes at least one piece of the following data: a flow consumptionindex, an occupied memory index, and a power consumption index.

Calculating the preference index of each application on the terminals ofdifferent types according to the second application behavior dataincludes the following steps.

The server calculates a flow consumption index of the applicationaccording to flow consumption e for each running of the application anda quantity of flow reporting times T_(flow). Flow consumption indexE=Avg(e)/T_(flow), where “Avg” is a function sign for calculating anaverage value.

The server calculates a memory usage index of the application accordingto occupied memory m for each running of the application and a quantityof memory reporting times T_(memory). Occupied memory index M=Avg(m)/T_(memory).

The server calculates a power consumption index of the applicationaccording to power consumption e for each running of the application anda quantity of power reporting times T_(e). Power consumption index M=Avg(e)/T_(e).

It should be noted that step S203 may be performed before step S202, ormay be performed after step S204.

Step S204: The server receives an application list request sent by afirst terminal, queries, according to the application list request, anactivity index of each application on terminals that are of the sametype with the first terminal, and recommends an application with anactivity index greater than a preset first activity index threshold tothe first terminal.

In this embodiment of the present disclosure, after obtaining theactivity index of each application on the terminals of different typesthrough calculation, the server stores the activity index of eachapplication on the terminals of different types.

The first terminal sends the application list request to the server, torequest the server to send a list of recommended applications to thefirst terminal, where the application list request includes static dataof the first terminal, and the static data is used to identify a type ofthe first terminal.

After receiving the application list request sent by the first terminal,the server first acquires a type of the first terminal according to theapplication list request, acquires, according to the type of the firstterminal, an activity index of each application on terminals that are ofthe same type with the first terminal, selects applications with anactivity index greater than a preset first activity index threshold, andthen sends an application list formed by these applications to the firstterminal. After receiving the application list, the first terminal maybrowse and download the applications in the application list.

Step S205: The server generates label information of an activity indexof each application on the first terminal according to an activity indexof each application recommended to the first terminal; and/or generateslabel information of a preference index of each application on the firstterminal according to a preference index of each application recommendedto the first terminal.

In this embodiment of the present disclosure, the server divides,according to a preset second activity index threshold and a preset thirdactivity index threshold, activity indexes of applications recommendedto the first terminal into three ranges. For an activity index greaterthan the third activity index threshold, the server sets labelinformation corresponding to the activity index to high; for an activityindex less than the third activity index threshold and greater than thesecond activity index threshold, the server sets label informationcorresponding to the activity index to medium; and for an activity indexless than the second activity index threshold, the server sets labelinformation corresponding to the activity index to low. The thirdactivity index threshold is greater than the second activity indexthreshold, and the second activity index threshold is greater than thefirst activity index threshold.

The setting of the label information of the occupied memory index, theflow consumption index, and the power consumption index that are in thepreference index is the same as that of setting the label information ofthe activity index, and details are not described herein again. The setlabel information is as follows:

Application activity index: high, medium, low

Occupied memory index: high, medium, low

Flow consumption index: high, medium, low

Power consumption index: high, medium, low

Background running: yes, no

Step S206: The server sends, to the first terminal, the labelinformation of the activity index and/or preference index of eachapplication that is recommended to the first terminal and on the firstterminal, so that a user of the first terminal selects an applicationaccording to the label information of the activity index and/orpreference index of each application that is recommended to the firstterminal and on the first terminal.

In this embodiment of the present disclosure, after generating the labelinformation of the activity index and/or preference index of eachapplication that is recommended to the first terminal and on the firstterminal, the server sends, to the first terminal, the label informationof the activity index and/or preference index of each application thatis recommended to the first terminal and on the first terminal, thefirst terminal receives and displays the label information of theactivity index and/or preference index of each application that isrecommended to the first terminal and on the first terminal, and a userof the first terminal selects, according to the label information of theactivity index and/or preference index of each application that isrecommended to the first terminal and on the first terminal, anapplication required by the user, for download and installation.

In conclusion, in the application recommending method provided in thisembodiment of the present disclosure, an application with an activityindex greater than a preset first activity index threshold is firstrecommended to a first terminal, and then label information of anactivity index and/or a preference index of each application that isrecommended to the first terminal and on the first terminal iscalculated, and the label information of the activity index and/orpreference index of each application that is recommended to the firstterminal and on the first terminal is sent to the first terminal, sothat a user of the first terminal can select, according to the labelinformation of the activity index and/or preference index of eachapplication that is recommended to the first terminal and on the firstterminal, and according to preference of the user, one or moreapplications for download and installation, thereby actually reflectinga preference requirement of the user.

FIG. 3 shows an implementation process of an application recommendingmethod according to Embodiment 3 of the present disclosure. Thefollowing provides a detailed description from a perspective of aserver.

Step S301: A server receives data reported by at least one terminal,where the data includes static data, and first application behavior dataand/or second application behavior data that are collected by the atleast one terminal, and the static data is used to identify a type of aterminal.

In this embodiment of the present disclosure, the first applicationbehavior data includes at least one piece of the following data:installation time, start time, activation time (time for switching frombackground to foreground when an application runs on the background),deactivation time (time for switching from foreground to background whenan application runs on the foreground), stop time, and uninstallationtime that are of an application, and so on.

The second application behavior data includes at least one piece of thefollowing data: occupied memory for each running of an application(occupied memory after activation and occupied memory afterdeactivation), flow consumption for each running of an application, andpower consumption for each running of an application.

The data received by the server may include the first applicationbehavior data and the second application behavior data, or may includeonly one of the first application behavior data and the secondapplication behavior data.

Step S302: The server obtains an activity index of each application onterminals of different types according to the first application behaviordata; and/or obtains a preference index of each application on terminalsof different types according to the second application behavior data.

Step S303: The server queries an activity index and/or a preferenceindex of each application on terminals that are of the same type withthe first terminal.

In this embodiment of the present disclosure, the server acquires a typeof the first terminal, and acquires, according to the type of the firstterminal, an activity index and/or a preference index of eachapplication on terminals that are of the same type with the firstterminal.

Step S304: The server generates label information of an activity indexand/or a preference index of each application on the first terminalaccording to the activity index and/or preference index of eachapplication on the terminals that are of the same type with the firstterminal.

In this embodiment of the present disclosure, for details about aprocess of generating the label information, reference is made to thedescription in Embodiment 2, and details are not described herein again.

Step S305: The server sends the label information of the activity indexand/or preference index of each application on the first terminal to thefirst terminal, so that a user of the first terminal selects anapplication according to the label information of the activity indexand/or preference index of each application on the first terminal.

In this embodiment of the present disclosure, after generating the labelinformation of the activity index and/or preference index of eachapplication on the first terminal, the server sends the labelinformation of the activity index and/or preference index of eachapplication on the first terminal to the first terminal, and the firstterminal displays corresponding label information to the user, therebyfacilitating selection, by the user, of an application required by theuser.

In conclusion, in the application recommending method provided in thisembodiment of the present disclosure, an activity index and/or apreference index of each application on terminals that are of the sametype with a first terminal is first obtained through calculation, andthen label information of an activity index and/or a preference index ofeach application on the first terminal is generated, and the labelinformation of the activity index and/or preference index of eachapplication on the first terminal is sent to the first terminal, so thata user of the first terminal can select, according to the labelinformation of the activity index and/or preference index of eachapplication on the first terminal, and according to preference of theuser, one or more applications for download and installation, therebyactually reflecting the preference of the user.

FIG. 4 shows a structural block diagram of a server 4 according toEmbodiment 4 of the present disclosure. The server 4 is configured toperform the application recommending method according to Embodiment 1.For ease of description, only a part related to this embodiment of thepresent disclosure is shown. The server 4 includes a reported datareceiving unit 41, an activity index calculating unit 42, and anapplication recommending unit 43.

The reported data receiving unit 41 is configured to receive datareported by at least one terminal, where the data includes static dataand first application behavior data that are collected by the at leastone terminal, and the static data is used to identify a type of aterminal.

The activity index calculating unit 42 is configured to obtain anactivity index of each application on terminals of different typesaccording to the first application behavior data.

The application recommending unit 43 is configured to receive anapplication list request sent by a first terminal, query, according tothe application list request, an activity index of each application onterminals that are of the same type with the first terminal, andrecommend an application with an activity index greater than a presetfirst activity index threshold to the first terminal.

The first application behavior data includes at least one piece of thefollowing data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication.

The activity index calculating unit 42 includes an activity degree sumcalculating module configured to calculate a sum of application activitydegrees of applications on terminals of a particular type; and anactivity index calculating module configured to obtain an activity indexof each application on the terminals of a particular type according tothe sum of the application activity degrees and a total quantity ofusers of the terminals of a particular type.

The application activity degree sum calculating module includes aninstallation duration calculating submodule configured to calculateinstallation duration of each application on each terminal according touninstallation time and installation time; and/or a running durationcalculating submodule configured to calculate running duration of eachapplication on each terminal according to stop time and start time;and/or an activity duration calculating submodule configured tocalculate activity duration of each application on each terminalaccording to deactivation time and activation time; and/or a backgroundrunning duration calculating submodule configured to calculatebackground running duration of each application on each terminalaccording to the running duration and the activity duration; and/or adaily activation times calculating submodule configured to calculate aquantity of daily activation times of each application on each terminal;an application activity degree calculating submodule configured tocalculate an application activity degree of each application on eachterminal according to a combination of one or more of the following: theinstallation duration, the running duration, the activity duration, thebackground running duration, and the quantity of daily activation times;and an application activity degree sum calculating submodule configuredto perform a summation on the application activity degrees of theapplications on the terminals to obtain the sum of the applicationactivity degrees of applications on the terminals of a particular type.

The server provided in this embodiment of the present disclosure may beapplied to Embodiment 1 of the foregoing corresponding method. Fordetails, reference is made to the description in Embodiment 1, anddetails are not described herein again.

FIG. 5 shows a structural block diagram of a server 5 according toEmbodiment 5 of the present disclosure. The server 5 is configured toperform the application recommending method according to Embodiment 2.For ease of description, only a part related to this embodiment of thepresent disclosure is shown. The server 5 includes a reported datareceiving unit 51, an activity index calculating unit 52, a preferenceindex calculating unit 53, an application recommending unit 54, a labelinformation generating unit 55, and a label information sending unit 56.

The reported data receiving unit 51 is configured to receive datareported by at least one terminal, where the data includes static dataand first application behavior data that are collected by the at leastone terminal, and the static data is used to identify a type of aterminal; and the first application behavior data includes at least onepiece of the following data: installation time, start time, activationtime, deactivation time, stop time, and uninstallation time that are ofan application. The reported data receiving unit 51 further receivessecond application behavior data collected by at least one terminal,where the second application behavior data includes at least one pieceof the following data: occupied memory for each running of anapplication, power consumption for each running of an application, andflow consumption for each running of an application.

The activity index calculating unit 52 is configured to obtain anactivity index of each application on terminals of different typesaccording to the first application behavior data.

The preference index calculating unit 53 is configured to obtain apreference index of each application on terminals of different typesaccording to the second application data, where the preference indexincludes at least one piece of the following data: an occupied memoryindex, a flow consumption index, and a power consumption index.

The application recommending unit 54 is configured to receive anapplication list request sent by a first terminal, query, according tothe application list request, an activity index of each application onterminals that are of the same type with the first terminal, andrecommend an application with an activity index greater than a presetfirst activity index threshold to the first terminal.

The label information generating unit 55 is configured to generate labelinformation of an activity index of each application on the firstterminal according to an activity index of each application recommendedto the first terminal; and/or generate label information of a preferenceindex of each application on the first terminal according to apreference index of each application recommended to the first terminal.

The label information sending unit 56 is configured to send, to thefirst terminal, the label information of the activity index and/orpreference index of each application that is recommended to the firstterminal and on the first terminal, so that a user of the first terminalselects an application according to the label information of theactivity index and/or preference index of each application that isrecommended to the first terminal and on the first terminal.

The preference index includes at least one piece of the following data:an occupied memory index, a flow consumption index, and a powerconsumption index.

The preference index calculating unit 53 includes a flow consumptionindex calculating module configured to calculate a flow consumptionindex of the application according to flow consumption for each runningof the application and a quantity of flow reporting times; and/or anoccupied memory index calculating module configured to calculate anoccupied memory index of the application according to occupied memoryfor each running of the application and a quantity of occupied memoryreporting times; and/or a power consumption index calculating moduleconfigured to calculate a power consumption index of the applicationaccording to power consumption for each running of the application and aquantity of power consumption reporting times.

The server provided in this embodiment of the present disclosure may beapplied to Embodiment 2 of the foregoing corresponding method. Fordetails, reference is made to the description in Embodiment 2, anddetails are not described herein again.

FIG. 6 shows a structural block diagram of a server 6 according toEmbodiment 6 of the present disclosure. The server 6 is configured toperform the application recommending method according to Embodiment 3.For ease of description, only a part related to this embodiment of thepresent disclosure is shown. The server 6 includes a reported datareceiving unit 61, an activity index calculating unit 62, and/or apreference index calculating unit 63, an index querying unit 64, a labelinformation generating unit 65, and a label information sending unit 66.

The reported data receiving unit 61 is configured to receive datareported by at least one terminal, where the data includes static data,and first application behavior data and/or second application behaviordata that are collected by the at least one terminal, and the staticdata is used to identify a type of a terminal.

The activity index calculating unit 62 is configured to obtain anactivity index of each application on terminals of different typesaccording to the first application behavior data; and/or the preferenceindex calculating unit 63 is configured to obtain a preference index ofeach application on terminals of different types according to the secondapplication behavior data.

The index querying unit 64 is configured to query an activity indexand/or a preference index of each application on terminals that are ofthe same type with the first terminal.

The label information generating unit 65 is configured to generate labelinformation of an activity index of each application on the firstterminal according to an activity index of each application recommendedto the first terminal; and/or generate label information of a preferenceindex of each application on the first terminal according to apreference index of each application recommended to the first terminal.

The label information sending unit 66 is configured to send the labelinformation of the activity index and/or preference index of eachapplication on the first terminal to the first terminal, so that a userof the first terminal selects an application according to the labelinformation of the activity index and/or preference index of eachapplication on the first terminal.

The first application behavior data includes at least one piece of thefollowing data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication; the second application behavior data includes at least onepiece of the following data: occupied memory for each running of anapplication, power consumption for each running of an application, andflow consumption for each running of an application; and the preferenceindex includes at least one piece of the following data: an occupiedmemory index, a flow consumption index, and a power consumption index.

The activity index calculating unit 62 includes an activity degree sumcalculating module configured to calculate a sum of application activitydegrees of applications on terminals of a particular type; and anactivity index calculating module configured to obtain an activity indexof each application on the terminals of a particular type according tothe sum of the application activity degrees and a total quantity ofusers of the terminals of a particular type; and the preference indexcalculating unit 63 includes a flow consumption index calculatingsubmodule configured to calculate a flow consumption index of theapplication according to flow consumption for each running of theapplication and a quantity of flow reporting times; and/or an occupiedmemory index calculating submodule configured to calculate an occupiedmemory index of the application according to occupied memory for eachrunning of the application and a quantity of occupied memory reportingtimes; and/or a power consumption index calculating submodule configuredto calculate a power consumption index of the application according topower consumption for each running of the application and a quantity ofpower consumption reporting times.

The activity degree sum calculating module includes an installationduration calculating submodule configured to calculate installationduration of each application on each terminal according touninstallation time and installation time; and/or a running durationcalculating submodule configured to calculate running duration of eachapplication on each terminal according to stop time and start time;and/or an activity duration calculating submodule configured tocalculate activity duration of each application on each terminalaccording to deactivation time and activation time; and/or a backgroundrunning duration calculating submodule configured to calculatebackground running duration of each application on each terminalaccording to the running duration and the activity duration; and/or adaily activation times calculating submodule configured to calculate aquantity of daily activation times of each application on each terminal;an application activity degree calculating submodule configured tocalculate an application activity degree of each application on eachterminal according to a combination of one or more of the following: theinstallation duration, the running duration, the activity duration, thebackground running duration, and the quantity of daily activation times;and an application activity degree sum calculating submodule configuredto perform a summation on the application activity degrees of theapplications on the terminals to obtain the sum of the applicationactivity degrees of applications on the terminals of a particular type.

The server provided in this embodiment of the present disclosure may beapplied to Embodiment 3 of the foregoing corresponding method. Fordetails, reference is made to the description in Embodiment 3, anddetails are not described herein again.

FIG. 7 shows a structural block diagram of a server 7 according toEmbodiment 5 of the present disclosure. The server 7 is configured toperform the application recommending method according to Embodiment 1.The server 7 includes an interface 71 and a processor 72.

The interface 71 is configured to receive data reported by at least oneterminal, where the data includes static data and first applicationbehavior data that are collected by the at least one terminal, and thestatic data is used to identify a type of a terminal.

The processor 72 is configured to obtain an activity index of eachapplication on terminals of different types according to the firstapplication behavior data.

The interface 71 is further configured to receive an application listrequest sent by a first terminal, query, according to the applicationlist request, an activity index of each application on terminals thatare of the same type with the first terminal, and recommend anapplication with an activity index greater than a preset first activityindex threshold to the first terminal.

The first application behavior data includes at least one piece of thefollowing data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication.

The processor 72 first calculates a sum of application activity degreesof applications on terminals of a particular type, and then obtains anactivity index of each application on the terminals of a particular typeaccording to the sum of the application activity degrees and a totalquantity of users of the terminals of a particular type.

The processor 72 calculates installation duration of each application oneach terminal according to uninstallation time and installation time;and/or the processor 72 calculates running duration of each applicationon each terminal according to stop time and start time; and/or theprocessor 72 calculates activity duration of each application on eachterminal according to deactivation time and activation time; and/or theprocessor 72 calculates background running duration of each applicationon each terminal according to the running duration and the activityduration; and/or the processor 72 calculates a quantity of dailyactivation times of each application on each terminal; the processor 72calculates an application activity degree of each application on eachterminal according to a combination of one or more of the following: theinstallation duration, the running duration, the activity duration, thebackground running duration, and the quantity of daily activation times;and the processor 72 performs a summation on the application activitydegrees of the applications on the terminals to obtain the sum of theapplication activity degrees of applications on the terminals of aparticular type.

The server provided in this embodiment of the present disclosure may beapplied to Embodiment 1 of the foregoing corresponding method. Fordetails, reference is made to the description in Embodiment 1, anddetails are not described herein again.

FIG. 8 shows a structural block diagram of a server 8 according toEmbodiment 8 of the present disclosure. The server 8 is configured toperform the application recommending method according to Embodiment 2.The server 8 includes an interface 81 and a processor 82.

The interface 81 is configured to receive data reported by at least oneterminal, where the data includes static data, and first applicationbehavior data and/or second application behavior data that are collectedby the at least one terminal, and the static data is used to identify atype of a terminal; the first application behavior data includes atleast one piece of the following data: installation time, start time,activation time, deactivation time, stop time, and uninstallation timethat are of an application; and the second application behavior dataincludes at least one piece of the following data: occupied memory foreach running of an application, power consumption for each running of anapplication, and flow consumption for each running of an application.

The processor 82 is configured to obtain an activity index of eachapplication on terminals of different types according to the firstapplication behavior data; and/or configured to obtain a preferenceindex of each application on terminals of different types according tothe second application behavior data; where the preference indexincludes at least one piece of the following data: an occupied memoryindex, a flow consumption index, and a power consumption index.

The processor 82 is further configured to first generate labelinformation of an activity index of each application on the firstterminal according to an activity index of each application recommendedto the first terminal; and/or generate label information of a preferenceindex of each application on the first terminal according to apreference index of each application recommended to the first terminal;and then send, to the first terminal, the label information of theactivity index and/or preference index of each application that isrecommended to the first terminal and on the first terminal, so that auser of the first terminal selects an application according to the labelinformation of the activity index and/or preference index of eachapplication that is recommended to the first terminal and on the firstterminal.

The processor 82 calculates a flow consumption index of the applicationaccording to flow consumption for each running of the application and aquantity of flow reporting times; and/or the processor calculates anoccupied memory index of the application according to occupied memoryfor each running of the application and a quantity of occupied memoryreporting times; and/or the processor calculates a power consumptionindex of the application according to power consumption for each runningof the application and a quantity of power consumption reporting times.

The server provided in this embodiment of the present disclosure may beapplied to Embodiment 2 of the foregoing corresponding method. Fordetails, reference is made to the description in Embodiment 2, anddetails are not described herein again.

FIG. 9 shows a structural block diagram of a server 9 according toEmbodiment 9 of the present disclosure. The server 9 is configured toperform the application recommending method according to embodiment 3.The server 9 includes an interface 91 and a processor 92.

The interface 91 is configured to receive data reported by at least oneterminal, where the data includes static data, and first applicationbehavior data and/or second application behavior data that are collectedby the at least one terminal, and the static data is used to identify atype of a terminal.

The processor 92 is configured to obtain an activity index of eachapplication on terminals of different types according to the firstapplication behavior data; and/or configured to obtain a preferenceindex of each application on terminals of different types according tothe second application behavior data.

The processor 92 is further configured to query an activity index and/ora preference index of each application on terminals that are of the sametype with the first terminal; and generate label information of anactivity index of each application on the first terminal according to anactivity index of each application recommended to the first terminal;and/or generate label information of a preference index of eachapplication on the first terminal according to a preference index ofeach application recommended to the first terminal.

The interface 91 is further configured to send the label information ofthe activity index and/or preference index of each application on thefirst terminal to the first terminal, so that a user of the firstterminal selects an application according to the label information ofthe activity index and/or preference index of each application on thefirst terminal.

The first application behavior data includes at least one piece of thefollowing data: installation time, start time, activation time,deactivation time, stop time, and uninstallation time that are of anapplication; the second application behavior data includes at least onepiece of the following data: occupied memory for each running of anapplication, power consumption for each running of an application, andflow consumption for each running of an application; and the preferenceindex includes at least one piece of the following data: an occupiedmemory index, a flow consumption index, and a power consumption index.

The processor 92 first calculates a sum of application activity degreesof applications on terminals of a particular type, and then obtains anactivity index of each application on the terminals of a particular typeaccording to the sum of the application activity degrees and a totalquantity of users of the terminals of a particular type; and/or theprocessor 92 calculates a flow consumption index of the applicationaccording to flow consumption for each running of the application and aquantity of flow reporting times; and/or the processor 92 calculates anoccupied memory index of the application according to occupied memoryfor each running of the application and a quantity of occupied memoryreporting times; and/or the processor 92 calculates a power consumptionindex of the application according to power consumption for each runningof the application and a quantity of power consumption reporting times.

The processor 92 calculates installation duration of each application oneach terminal according to uninstallation time and installation time;and/or the processor 92 calculates running duration of each applicationon each terminal according to stop time and start time; and/or theprocessor 92 calculates activity duration of each application on eachterminal according to deactivation time and activation time; and/or theprocessor 92 calculates background running duration of each applicationon each terminal according to the running duration and the activityduration; and/or the processor 92 calculates a quantity of dailyactivation times of each application on each terminal; the processor 92calculates an application activity degree of each application on eachterminal according to a combination of one or more of the following: theinstallation duration, the running duration, the activity duration, thebackground running duration, and the quantity of daily activation times;and the processor 92 performs a summation on the application activitydegrees of the applications on the terminals to obtain the sum of theapplication activity degrees of applications on the terminals of aparticular type.

FIG. 10 shows a structural block diagram of an application recommendingsystem 10 according to Embodiment 10 of the present disclosure. Theapplication recommending system 10 includes at least one terminal 101and further includes a server 102, where the server 102 is connected toeach terminal 101. For brevity, one of the terminals 101 is shown inFIG. 10. After the at least one terminal 101 reports applicationbehavior data to the server 102, the server 102 may obtain, throughcalculation according to the received application behavior data, anactivity index of each application on the first terminal, and recommendan application with an activity index greater than a preset firstactivity index threshold to the first terminal; or may further calculatelabel information of an activity index and/or a preference index of eachapplication that is recommended to the first terminal and on the firstterminal, and send, to the first terminal, the label information of theactivity index and/or preference index of each application that isrecommended to the first terminal and on the first terminal, so that auser of the first terminal can select, according to the labelinformation of the activity index and/or preference index of eachapplication that is recommended to the first terminal and on the firstterminal and according to preference of the user, one or moreapplications for download and installation; or may further afterobtaining, through calculation, an activity index and/or a preferenceindex of each application on the first terminal, send label informationof the activity index and/or preference index of each application on thefirst terminal to the first terminal, so that a user of the firstterminal can select, according to the label information of the activityindex and/or preference index of each application that is recommended tothe first terminal and on the first terminal, and according topreference of the user, one or more applications for download andinstallation.

The foregoing embodiments are merely intended for describing thetechnical solutions of the present disclosure, but not for limiting thepresent disclosure. Although the present disclosure is described indetail with reference to the foregoing embodiments, persons of ordinaryskill in the art should understand that they may still makemodifications to the technical solutions described in the foregoingembodiments or make equivalent replacements to some technical featuresthereof, without departing from the spirit and scope of the technicalsolutions of the embodiments of the present application.

What is claimed is:
 1. An application recommending method, comprising:receiving, by a server, data reported by one or more terminals, the datacomprising static data and application behavior data, the static databeing used to identify a type of a terminal; obtaining an index of eachapplication on terminals of different types according to the applicationbehavior data; receiving an application list request sent by a firstterminal; querying, according to the application list request, an indexof each application on terminals that are of the same type with thefirst terminal; and recommending an application list according to theindex of each application on terminals that are of the same type withthe first terminal.
 2. The method according to claim 1, furthercomprising: generating label information of an index of each applicationon the first terminal according to an index of each applicationrecommended to the first terminal; and sending the label information ofthe index of each application on the first terminal to the firstterminal.
 3. The method according to claim 1, wherein the static datacomprises one or more pieces of the following data: a terminal model, aquantity of central processing unit (CPU) cores, a total memory size, anavailable memory size, a resolution, or an operating system (OS) versionnumber.
 4. The method according to claim 1, wherein the applicationbehavior data comprises a second application behavior data, and theindex of each application comprises a preference index.
 5. The methodaccording to claim 4, wherein the second application behavior datacomprises one or more pieces of the following data: occupied memory foreach running of an application, power consumption for each running of anapplication, or flow consumption for each running of an application. 6.The method according to claim 1, wherein the application behavior datacomprises a first application behavior data, and the index of eachapplication comprises an activity index.
 7. The method according toclaim 6, wherein recommending the application list according to theindex of each application comprises recommending an application listwith an activity index greater than a preset first activity indexthreshold to the first terminal.
 8. The method according to claim 6,wherein the first application behavior data comprises one or more piecesof the following data: installation time, start time, activation time,deactivation time, stop time, or uninstallation time that are of anapplication.
 9. The method according to claim 7, wherein the activityindex greater than the preset first activity index threshold indicates ahigher likelihood of the application being compatible with the firstterminal compared to an application with an activity index less than thepreset first activity index threshold.
 10. The method according to claim1, wherein the application behavior data are collected by the one ormore terminals.
 11. A server, comprising: a memory configured to storeprocessor-executable instructions; and a processor coupled to the memoryand configured to execute the processor-executable instructions to causethe server to: receive data reported by one or more terminals, the datacomprising static data and application behavior data, the static databeing used to identify a type of a terminal; obtain an index of eachapplication on terminals of different types according to the applicationbehavior data; receive an application list request sent by a firstterminal; query, according to the application list request, an index ofeach application on terminals that are of the same type with the firstterminal; and recommend an application list according to the index ofeach application on terminals that are of the same type with the firstterminal.
 12. The server according to claim 11, wherein theprocessor-executable instructions further cause the server to: generatelabel information of an index of each application on the first terminalaccording to an index of each application recommended to the firstterminal; and send the label information of the index of eachapplication on the first terminal to the first terminal.
 13. The serveraccording to claim 11, wherein the static data comprises one or morepieces of the following data: a terminal model, a quantity of centralprocessing unit (CPU) cores, a total memory size, an available memorysize, a resolution, or an operating system (OS) version number.
 14. Theserver according to claim 11, wherein the application behavior datacomprises a second application behavior data, and the index of eachapplication comprises a preference index.
 15. The server according toclaim 14, wherein the second application behavior data comprises one ormore pieces of the following data: occupied memory for each running ofan application, power consumption for each running of an application, orflow consumption for each running of an application.
 16. A terminal,comprising: a memory configured to store processor-executableinstructions; and a processor coupled to the memory and configured toexecute the processor-executable instructions to cause the terminal to:send an application list request to a server, application list requestcomprising a type of the terminal; receive an application listrecommended by the server, the application list being acquired accordingto an index of each application on terminals that are of the same typewith the terminal, the index of each application on terminals ofdifferent types are obtained according to application behavior data; anddisplay the application list on the terminal.
 17. The terminal accordingto claim 16, wherein the processor-executable instructions further causethe terminal to: receive a label information of the index of eachapplication that is recommended to the terminal, the label informationof an index of each application being generated by the server accordingto an index of each application recommended to the terminal; and displaythe label information of the index of each application on the terminal.18. The terminal according to claim 16, wherein the processor-executableinstructions further cause the terminal to report data to the server,the data comprising static data and application behavior data, thestatic data being used to identify the type of the terminal.
 19. Theterminal according to claim 18, wherein the static data comprises one ormore pieces of the following data: a terminal model, a quantity ofcentral processing unit (CPU) cores, a total memory size, an availablememory size, a resolution, or an operating system (OS) version number.20. The terminal according to claim 16, wherein the index of eachapplication comprises a preference index.